home *** CD-ROM | disk | FTP | other *** search
- EMSimulator
-
-
- An Expanded Memory Simulator for the IBM AT
- and Compatibles.
-
-
- By Karlton W. Kam
-
- Installation/Users Guide
- Limited Evaluation Version
-
-
- Copyright (c) 1986, Kam & Associates, Inc.
- All Rights Reserved.
-
-
-
- Kam & Associates, Inc.
- 3615 Harding Ave. Suite 401
- Honolulu, Hawaii 96816
- (808) 737-3647
-
-
-
- This document and its respective files are a complete working
- limited evaluation version of the EMSimulator. All functions are
- implemented with the exception that simulated Expanded memory can
- not be larger than 256K in size. Users are allowed to distribute
- this version freely as long as it is not modified in any way.
- Anyone who finds the EMSimulator useful are encouraged to
- purchase the complete package which included printed
- documentation and an unrestricted version, which will allow up to
- 8 megabytes of extended memory to be used as expanded memory, for
- only $49.95.
-
- We at Kam & Associates are sure that you will find this utility
- very useful to any AT or compatible owner. We appreciate any
- comments or suggestions that you may have.
-
-
- Attention AT Extended Memory Owners!
-
- Up until now, most AT memory expansion boards such as the AST
- Advantage, Qubie 4X4, Everex RAM 3000, 2500, and Magic Card,
- Quadboard AT, Compaq 286, Etc, broke the 640K barrier by offering
- Extended Memory (memory above 1 Meg). Unfortunately, even though
- many users have several megabytes installed and available, this
- memory was not usable by most software programs except IBM's
- Vdisk.
-
- The EMSimulator or Expanded Memory Simulator, bridges the gap
- between your application software and the AT's previously
- unusable Extended memory. Now programs such as Lotus 123 v2,
- Symphony v1.1, Lightning, Reflex v1.1, and most L-I-M Expanded
- Memory compatible software can access up to 8 megabytes of your
- AT's extra memory. By removing the 640K restriction and
- limitations of conventional memory, expanded memory makes large
- spreadsheets and databases a reality.
-
- The EMSimulator is compatible with the IBM AT and most AT
- "Clones" including Compaq's 286 series. Installation of the
- EMSimulator is quick and easy requiring only an addition to your
- "CONFIG.SYS" file and that extended memory be available via an
- expansion board as mentioned above. Compaq 286's and some clones
- already have extended memory capabilities so additional boards
- may not be required! Contact us or your dealer for more
- information.
-
- At an Introductory price of only $49.95, the EMSimulator is an
- inexpensive way to utilize, maximize, and enhance both your
- hardware and software investment.
-
-
- Orders Only: Information/Orders
- (800)821-5226 Ext. 435 (808)737-3809
-
-
- Kam & Associates, Inc.
- 3615 Harding Ave. Suite 401
- Honolulu, Hawaii 96816
-
-
-
-
-
- Commonly asked questions about the EMSimulator.
-
-
- - Expanded and Extended memory. How do they differ?
-
- Expanded memory has been developed due to the limited (1
- megabyte) addressing capability of the 8088 CPU. Software
- developers at Lotus, Intel, and Microsoft have designed a bank
- switching scheme called expanded memory specifications, or EMS.
- By using the EMS scheme, any 8088 or 80286 processor can access
- up to 8 megabytes of memory, but at only 64K at any given time.
-
- Since the 80286 CPU can address up to 16 megabytes of memory
- directly, Extended memory is any memory located above the normal
- 1 megabyte boundary. Even though this memory can be as large as
- 15 megabytes, few programs can take advantage of it, as they and
- the current DOS are designed to operate within the 1 megabyte
- addressing limit imposed by the 8088 CPU. This limitation will be
- circumvented with the availability of a new DOS.
-
- As you can see, these two schemes are very different. Extended
- memory is not really useful at this time but will be required
- with the advent of the new "Protected Mode" DOS. Expanded memory
- will work with existing programs such as Lotus v2, Symphony 1.1,
- etc., but is really designed for the PC and XT's 8088 CPU.
- Expanded memory is just a stop gap measure when implemented on
- the AT's 80286 and will probably not be supported by the new DOS.
-
-
-
- - When first turned on, my AT displays that there is 2048K of
- memory available. Lotus 123 is supposed to support up to 4
- megabytes of memory but shows less that a 400K workspace. Is
- something wrong?
-
- If your AT counts to over 640K when turned on, you have Extended
- memory installed. Lotus 123 version 2 supports up to 4 megabytes
- of Expanded memory which is different from your Extended memory.
- By using the EMSimulator, your additional memory above 640K can
- be turned into Expanded memory and will be available to Lotus 123
- v2 or any EMS compatible program.
-
-
-
- - I own a Compaq 286 which my dealer claims can be increased to
- up to 2 megabytes. Can the EMSimulator be utilized?
-
- Yes, the Compaq 286 can be easily upgraded to 2 megabytes of
- memory by simply replacing the 64K RAM chips with 256K chips and
- adjusting a few switches. This extra memory then becomes Extended
- memory to the 80286 processor. As mentioned above, this memory
- can be made to simulate Expanded memory with the EMSimulator and
- will then be available to programs that support the EMS
- specification. This is also true for many AT "Clones" that claim
- to have 1 megabyte or more already installed.
-
-
-
- - The EMSimulator seems like a product that can be useful to many
- AT owners. Are there any drawbacks?
-
- A few, First, because the EMSimulator is a software program, it
- resides in conventional memory and requires about 67K when
- operational. Secondly, the EMSimulator is an Expanded Memory
- Simulator. Being so, it may not be as fast as actually having an
- Expanded memory board installed. The performance will vary
- depending on your application program.
-
- Both these issues have been addressed during the development of
- the EMSimulator. The EMSimulator is written totally in assembly
- language so as to be as compact and as fast as possible. As a
- result, the EMSimulator requires less than 7K of disk space and
- is virtually transparent to the application program and user.
-
-
-
- - How do I use the EMSimulator with my software?
-
- If your program utilizes the Lotus-Intel-Microsoft EMS version
- 3.2 specifications, it will probably work with the EMSimulator.
- Installation of the EMSimulator requires only a simple addition
- to your "CONFIG.SYS" file. Once installed, the AT will load a
- small 3K device driver called EMSIM.SYS into memory each time it
- is turned on. This driver allocates any Extended memory that is
- not already used by IBM's VDISK.SYS utility for use as Simulated
- Expanded memory. By using the included EMSTAT.COM program, the
- EMSimulator device driver can be enabled and disabled whenever
- Expanded memory is needed. When enabled, an additional 64K of
- conventional memory is used to store the simulated 64K page
- buffer. This memory can be reclaimed without rebooting by simply
- disabling the driver with the EMSTAT.COM program. EMSTAT.COM also
- displays useful and interesting information about the performance
- and status of the EMSimulator device driver and can be invoked at
- any time.
-
-
-
- Installation and Operation of the EMSimulator
-
-
- Step 1: Installation of EMSIM.SYS device driver.
-
- The EMSimulator consists of two small program files, EMSIM.SYS
- and EMSTAT.COM. Together, these two file occupy less than 7K of
- disk space. Copy these two files, EMSIM.SYS, and EMSTAT.COM onto
- the root directory of your hard disk.
-
- EMSIM.SYS is a device driver that is installed in the CONFIG.SYS
- file. To do this, add the line:
-
- DEVICE=EMSIM.SYS
-
- This command should be placed first in the CONFIG.SYS file.
- Reboot the system. This driver will be loaded each time the
- computer is booted. It will use about 3K of conventional memory.
-
- In its normal state, any extended memory up to 8 megabytes will
- be allocated for simulated expanded memory by the EMSIM.SYS
- device driver. Users who wish to also create a Ramdisk in
- extended memory may do so by using IBM's VDISK device driver.
- IBM's VDISK driver MUST be used and it MUST be placed before the
- EMSIM.SYS driver in the CONFIG.SYS file so that the VDISK is
- installed first. Compaq owners should note that even though the
- MS-DOS diskette contains a VDISK driver, it is not the same as
- IBM'S VDISK and will not work. Any remaining memory not allocated
- to VDISK will be used for simulated expanded memory.
-
- At this point, the EMSIM.SYS device driver is loaded but not
- activated.
-
-
-
- Step 2: Enabling the EMSimulator device driver.
-
- By using the EMSTAT.COM program, the EMSimulator can be enabled
- and disabled when needed. Before using any EMS compatible
- software, execute the following command:
-
- EMSTAT E
-
- This will enable the Expanded memory simulator and will allows
- your application programs to utilize the extended memory as
- expanded memory. When enabled, an additional 64K of memory is
- used so your conventional memory size will be slightly smaller.
-
- An alternate method for enabling the EMSimulator driver is the
- command:
-
- EMSTAT 0-9
-
- This will Activate an audible click every time a bank switch is
- made. This function lets you 'hear' the EMSimulator in action. A
- zero will turn this function off while a 9 will produce the
- loudest tone. This command will also enable the device driver if
- it is not already enabled.
-
- The EMSimulator driver can be disabled at anytime and the 64K of
- memory released. This is done by the command:
-
- EMSTAT D
-
- This command will not function if another memory resident
- programs is installed after the EMSimulator driver was
- enabled.
-
-
-
- Step 3: Using the EMSimulator.
-
- Once activated, the EMSimulator will emulate the L-I-M EMS
- version 3.2 specification. This allows programs such as Lotus 123
- v2.0, Symphony v1.1, Reflex v1.1, etc. to be used. The Expanded
- Memory Simulator statistics can be viewed at any time by
- executing the EMSTAT program without any parameters. This will
- display information on the current status of the EMSIM driver.
-
-
- Summary of EMSimulator commands.
-
- EMSTAT Displays status information
- EMSTAT E Enables device driver
- EMSTAT D Disables device driver
- EMSTAT 0-9 Toggles audible speaker click
- and enables device driver
-
- It is recommended that the EMSimulator be enabled only when
- necessary and after all memory resident programs have been
- loaded unless the resident programs themselves require EMS. By
- enabling the EMSimulator, which itself is a memory resident
- program, last, the 64K memory required can be released when the
- driver is disabled. This can be accomplished by the use of batch
- files. For example, when using Lotus 123 version 2, the batch
- file LOTUSEXP.BAT can be created as follows:
-
- EMSTAT E
- LOTUS
- EMSTAT D
-
- This will automatically enable and disable the EMSimulator
- whenever Lotus 123 is executed.
-
-
- Hints and Advice about using the EMSimulator.
-
- When using the EMSimulator with Ready!, by Living Videotext Inc.,
- version 1.00c or greater must be used. Ready! must be the first
- program loaded into expanded memory and the program
- 'RDYLOAD.COM', which is included on the EMSimulator diskette,
- must be executed immediately after Ready! is loaded. This program
- resolves an obscure error when Ready! is loaded and allows other
- EMS compatible programs to be executed concurrently with Ready!.
- Also, make sure the the file 'READY.AB', which is on your Ready!
- diskette, is on the same directory before executing Ready! as it
- is needed to utilize Expanded memory.
-
- Lotus 123 and Symphony users may notice a slowdown in execution
- and movement within the spreadsheet whenever large amounts of
- expanded memory is used. This is most noticeable after combining
- or editing large spreadsheets or after sorting large databases.
- This is because the memory management scheme of Lotus/Symphony
- often fragments its data putting contiguous data in non-
- contiguous memory and causing a large number of bank switch of
- expanded memory to be required whenever accessed. Saving then re-
- loading the workspace will regain its performance.
-
- Another main factor that limits Lotus' memory management scheme
- is that conventional memory must be used to retain pointers to
- data stored in expanded memory. This means that even though you
- may have large amounts of expanded memory, not all of it may be
- usable because conventional memory will often be filled with
- pointers to expanded memory and once full, will signal a memory
- error.
-
-
- Background/Technical information.
-
- The Expanded memory scheme has been developed due to the limited
- (1 megabyte) addressing capability of the 8088 CPU. Software
- developers at Lotus, Intel, and Microsoft have designed a bank
- switching scheme called expanded memory specifications, or EMS.
- By using the EMS scheme, any 8088 or 80286 processor can access
- up to 8 megabytes of memory, but only 64K at any given time.
-
- Since the 80286 CPU can address up to 16 megabytes of memory
- directly, Extended memory is any memory located above the normal
- 1 megabyte boundary. Even though this memory can be as large as
- 15 megabytes, few programs can take advantage of it, as they and
- the current DOS are designed to operate within the 1 megabyte
- addressing limit imposed by the 8088 CPU. This limitation will be
- circumvented with the availability of a new DOS.
-
- As you can see, these two schemes are very different. Extended
- memory is not really useful at this time but will be required
- with the advent of the new "Protected Mode" DOS. Expanded memory
- will work with existing programs such as Lotus v2, Symphony 1.1,
- etc., but is really designed for the PC and XT's 8088 CPU.
- Expanded memory is just a stop gap measure when implemented on
- the AT's 80286 and will probably not be supported by the new DOS.
-
- The EMSimulator has been developed to "Bridge the Gap" between
- these two different memory schemes. By following and simulating
- the L-I-M EMS 3.2 specification, most programs that support it
- can now be used successfully with the AT's Extended memory.
-
- Because the EMSimulator simulates the Expanded memory scheme, it
- will not and cannot function as fast as a true EMS bank switched
- board. Depending on your application program and the number of
- bank switches it requires, the performance may or may not be
- affected. Throughout its entire development, careful attention
- has been used to assure that the EMSimulator will be as
- transparent and as fast as possible.
-
- The EMSimulator consists of over 1500 lines of 80286 assembly
- language code which when assembled, results in two files that are
- about 7000 bytes in length. Assembly Language allows direct
- access to the 80286 CPU and the AT's hardware and architecture
- when executing. This assured the most efficient and compact code
- in the end as assembly is native language of the 80286 CPU and no
- intermediate translations are needed when executing.
-
- The 80286 CPU has two modes of operation, Real Mode, which is
- designed to emulate the 8088 CPU. This mode is what the AT is
- usually running in thus the usual 640K memory limit. Protected
- Mode allows the 80286 to access up to 16 megabytes of memory
- although this mode is not supported by very many programs so the
- extra memory is usually not used.
-
- As mentioned above, the L-I-M EMS scheme has been designed to
- allow access to up to 8 megabytes of memory to any program that
- supports it. This memory is available in 16K pages which 4 pages
- can be access at any given time through a "Window" in the 1
- megabyte memory map of the 8088 or the 80286 in Real mode.
-
- When operating, the EMSimulator allows EMS compatible programs to
- access to up to 8 megabytes of Extended memory. This is done not
- by executing programs in its Protected mode, but by automatically
- moving memory from its Extended memory to below the 1 megabyte
- area where it is accessible to programs through the 64K "Window".
- This memory move is done as quickly as possible whenever the
- executing program calls for a different page to be mapped into
- the window. On EMS compatible memory boards, this is mostly
- handled through hardware thus the mapping done very quickly.
- Because the EMSimulator uses existing memory and does not require
- a special memory board, blocks of memory are moved from Extended
- memory and into the "Window" by the CPU.
-
-